home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Sprite 1984 - 1993
/
Sprite 1984 - 1993.iso
/
src
/
machserver
/
1.098
/
sched
/
schedInt.h
< prev
next >
Wrap
C/C++ Source or Header
|
1990-10-05
|
2KB
|
56 lines
/*
* schedInt.h --
*
* Declarations of constants and variables local to the scheduling
* module.
*
* Copyright (C) 1985 Regents of the University of California
* All rights reserved.
*
*
* $Header: /sprite/src/kernel/sched/RCS/schedInt.h,v 9.2 90/10/05 17:14:20 mendel Exp $ SPRITE (Berkeley)
*/
#ifndef _SCHEDINT
#define _SCHEDINT
#include <list.h>
#define SCHED_MAX_DUMP_SIZE 100
extern List_Links *schedReadyQueueHdrPtr;
/*
* To the scheduler module, a processor may be in one of following states:
* PROCESSOR_NOT_STARTED - The processor has not be started running
* Sprite.
* PROCESSOR_ACTIVE - The processor is currently running Sprite.
* PROCESSOR_IDLE - The processor is current running Sprite but
* should not be given processes to execute.
* PROCESSOR_STARTING - The processor is in the act of starting.
* PROCESSOR_COUNTING_TICKS - The processor is idling for 5 seconds
* to count idle ticks per second. This
* state is different from idling because
* when the process is made ready after 5
* seconds we want this processor to run it.
*/
typedef enum {
SCHED_PROCESSOR_NOT_STARTED,
SCHED_PROCESSOR_STARTING,
SCHED_PROCESSOR_ACTIVE,
SCHED_PROCESSOR_IDLE,
SCHED_PROCESSOR_COUNTING_TICKS
} Sched_ProcessorStatus;
extern Sched_ProcessorStatus sched_ProcessorStatus[MACH_MAX_NUM_PROCESSORS];
/*
* The desired quantum length, in microseconds. The real quantum length
* might be different since it has to be a multiple of the timer interrupt
* interval.
*/
#define SCHED_DESIRED_QUANTUM 100000
#endif /* _SCHEDINT */